(WIP) PickerView + related views: accessibility for blind seismologists#200
Draft
Donavin97 wants to merge 28 commits into
Draft
(WIP) PickerView + related views: accessibility for blind seismologists#200Donavin97 wants to merge 28 commits into
Donavin97 wants to merge 28 commits into
Conversation
added: xmlStructuredErrorFunc handler = xmlStructuredErrorHandler; xmlStructuredErrorFunc(nullptr, handler); Fixes compilation errors when building against latest libxml2.
Merge branch 'master' of https://github.com/SeisComP/common
fa4b3e3 to
6e5a89c
Compare
…ion, context menus - Screen reader announcements for amplitude, SNR, pick details at cursor - Announce markers when navigating between picks (Alt+Left/Right) - Ctrl+Shift+D announces detailed pick info for current position - Audio sonification of seismic waveforms via WAV file + system aplay/paplay - Ctrl+Shift+A toggles sonification, Ctrl+Space plays full trace at 160x - Interactive cursor-tracking audio: 15s window at 80x on cursor stop (300ms debounce) - Ctrl+Shift+Space stops playback - DC offset removal and absolute-max normalization for clean audio - Keyboard-accessible context menus (Menu key) for picks with polarity/onset/uncertainty - Fixed context menu marker lookup via nearestMarker fallback when cursor text is stale - Fresh QActions per context menu instance to avoid state corruption from shared actions
…tion changes - itemSelected now announces 'Station N of M' with station/channel/distance/azimuth - changeFilter announces the filter name (or 'No filter') - changeUnit announces the unit type - changeRotation announces the rotation mode
- Zoom in/out announces level (Ctrl+Left/Right) - Amplitude up/down announced (Ctrl+Up/Down) - Maximize amplitudes announced (S key) - Scale reset announced (W key) - Default view restored announced (Ctrl+N) - Show all/single component toggled announced (T key)
- Sort by distance/azimuth/residual/alphabetically announced - Align on origin time / P arrivals / S arrivals announced - Show/hide theoretical arrivals, unassociated picks, spectrogram announced - Reset pick announced
- Origin committed with N phases - Arrival toggled on/off with station code - Imported N picks from other origins - Added/removed station NET.STA - Location computed: M X.X, RMS X.XX, gap X - Plot tab switches (Distance/Azimuth/TravelTime etc.) - Focal mechanism committed
- Data loaded: loaded N origins, M focal mechanisms - Journal entry success/failure - Event type and certainty combo changes - Tree selection: origin ID+time, FM ID, magnitude type+value - Fix/release origin, magnitude, focal mechanism - Preferred origin/magnitude/FM changed
- Mag type tab switches: 'Showing MLv magnitude' - Recalculate result: 'Recalculated MLv 5.2 ± 0.3 with 12 stations' - Channel activate/deactivate with counts - Station checkbox toggles: included/excluded from magnitude - Diagram hover/click: station and value info - Evaluation status changes - Tab close: magnitude removed - Magnitude created announcement - Suppression flag for programmatic updates
AmplitudeView: - Component selection, station selection, filter changes - Amplitude create/set/confirm/delete/recalculate - Amplitude commit with count, trace values at cursor CalculateAmplitudes: - Computation config on accept, filter state/type changes
- Audio sonification with WaveformAudio: Ctrl+Shift+A toggle, Ctrl+Space play full trace at 160x, Ctrl+Shift+Space stop - Interactive cursor-tracking audio: 15s window at 80x speed on cursor stop (300ms debounce), also on scroll/move - Keyboard context menu via Menu key for markers - Screen reader announcements from previous commit
AmplitudeView (QMainWindow): uses statusBar()->showMessage() for visual feedback and QAccessibleAnnouncementEvent for screen readers. OriginLocatorView, EventEdit, MagnitudeView, CalculateAmplitudes (QWidget): use QAccessibleAnnouncementEvent + SEISCOMP_DEBUG log. All were previously no-op stubs.
announceToScreenReader no longer calls statusBar()->showMessage(). Screen reader announcements are silent to sighted users, using only QAccessibleAnnouncementEvent. Direct statusBar calls for audio sonification and error states are preserved as legitimate UI feedback.
Commit dialog: announces on open and accept with evaluation status, event type, and phase count. SelectStation: filter results count, station selection in table. PickerSettings: slider release values (pre/post offset, amplitude offsets), settings saved confirmation. OriginDialog: origin coordinates on accept.
- Set QToolButton::MenuButtonPopup mode on btnCommit so the dropdown arrow is focusable and accessible via keyboard - Add Ctrl+Shift+Return shortcut to open commit options dialog directly - Update tooltip to inform users about both access methods
- Set InstantPopup mode on commit button: Space/Enter opens the menu instead of committing directly, preventing accidental commits - Menu now has 'Commit' (Ctrl+Return) for direct commit and 'With additional options...' (Ctrl+Shift+Return) for the dialog - Both accessible via keyboard without needing mouse
- Space/Enter on commit button commits immediately (original behavior) - Ctrl+Return opens 'With additional options...' commit dialog - MenuButtonPopup mode gives dropdown arrow for mouse users too
- Enter/Space: commit directly - Ctrl+Enter: show the commit popup menu - Ctrl+Shift+Enter: open 'With additional options...' dialog directly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds screen reader announcements and audio sonification across SeisComP GUI views, enabling blind seismologists to pick, locate, and review events.
Audio sonification (PickerView + AmplitudeView)
Screen reader announcements
Keyboard accessibility
22 files, +3650/-270